00001 <?php
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00053 define("PATH_TO_ROOT", "../");
00054
00056 require_once (PATH_TO_ROOT."forum/classes/class.forumcompressorhandler.inc.php");
00057 require_once (PATH_TO_ROOT."common/init.inc.php");
00058 require_once (PATH_TO_ROOT . "user/classes/class.usertools.inc.php");
00060 require_once (PATH_TO_ROOT."common/tinymceconfig.inc.php");
00061
00062
00063 if (isset($_POST['Cancel']))
00064 {
00065 header("Location: ".$_SERVER['PHP_SELF']);
00066 exit;
00067 }
00068
00069
00070
00071
00072
00073 if (isset($_GET['action']) && ($_GET['action'] == "downloadFile"))
00074 {
00075 if (isset($auth->authError) && ($auth->authError != false))
00076 include_once (PATH_TO_ROOT."common/header.inc.php");
00077
00078 include_once "./classes/class.header.inc.php";
00079
00080
00081 if ($_GET["courseID"] != strval(intval($_GET["courseID"])) || $_GET["courseID"] != $_SESSION["course"] || $_GET["boardID"] != strval(intval($_GET["boardID"])) || $_GET["threadid"] != strval(intval($_GET["threadid"])) || !preg_match("/^[0-9]+$/", $_GET["postfilesavename"]))
00082 {
00083 exit();
00084 }
00085
00086 $uploaddir = PATH_TO_ROOT.$settings["upload_path"]."forum/course/".$_GET["courseID"]."/board/".$_GET["boardID"];
00087
00088
00089 $filename = str_replace("\\", "/", realpath(sprintf("%s/%s", $uploaddir, $_GET["postfilesavename"])));
00090
00091 if (!substr_count($filename, str_replace("../", "", $settings["upload_path"]) ."forum/course/".$_GET["courseID"]."/board/".$_GET["boardID"]) || $db->get_var("SELECT postfilename FROM {$settings['dbPrefix']}forum_post WHERE threadid='{$_GET['threadid']}' AND postfilesavename='{$_GET['postfilesavename']}'") != $_GET["postfilename"])
00092 {
00093 exit();
00094 }
00095
00096
00097 ob_end_clean();
00098 header("Content-Type: application/octet-stream");
00099 header("Content-Disposition: attachment; filename=\"{$_GET['postfilename']}\"");
00100 readfile($filename);
00101 }
00102 else
00103 {
00104
00105
00106
00107 require_once (PATH_TO_ROOT."common/header.inc.php");
00108 include_once "header.inc.php";
00109 writeContentHeader(Output::getIcon("icon_photogallery", "FotoForum") ."FotoForum");
00110 include_once "./classes/class.header.inc.php";
00111 if (!isset($thread['threadid']) || (!$thread['threadid']) || ($board['boarddisabled'] == 1))
00112 {
00113 $forbidden = true;
00114 if ($board['boarddisabled'])
00115 {
00116 $prights = getAlbumRights($board['boardid']);
00117 $forbidden = !testPhotoRight($prights, 'admin');
00118 }
00119 if ($forbidden)
00120 errormessage('Fehler', 'Thread existiert nicht');
00121 }
00122 if (!getAlbumRight('view', $board['boardid'])) {
00123 errormessage('Fehler', 'Leider dürfen Sie dieses Bild nicht betrachten.');
00124 }
00125
00126 if ($thread['threadlink'])
00127 {
00128 header('Location: '.build_link('showtopic.php?threadid='.$thread['threadlink'], true));
00129 exit;
00130 }
00131 if (isset($_SESSION["roleID"]))
00132 {
00133 $role = new Role($_SESSION["roleID"]);
00134 }
00135 else
00136 $role = null;
00137
00138 if (isset($_SESSION["teamID"]))
00139 {
00140 $team = new Team($_SESSION["teamID"]);
00141 }
00142 else
00143 $team = null;
00144
00145 $postings = $thread['threadmessages'] = ++$thread['threadreplies'];
00146 $post_pages = ceil($postings/$config['vars_m_amount']);
00147
00148 if (!isset($pagenum))
00149 {
00150 $pagenum = 1;
00151 }
00152 else if ($pagenum == 'lastpage')
00153 {
00154 $pagenum = $post_pages;
00155 }
00156 $a_group = array();
00157 $r_group = forum_query("SELECT groupid, title FROM forum_group ORDER BY titlepriority DESC");
00158
00159 while ($group = mysql_fetch_array($r_group))
00160 {
00161 $a_group[] = $group;
00162 }
00163
00164
00165 $r_anofilehelp = forum_query("SELECT anonymousallowed, filesallowed, helpdesk, marking FROM forum_board as board WHERE boardid = $board[boardid] AND is_photogallery=1");
00166 $anofilehelp = mysql_fetch_array($r_anofilehelp);
00167
00168
00169 $strParam = ForumCompressorHandler::SESSION_OBJECT_IDENTIFIER;
00170 if (isset($_SESSION[$strParam]))
00171 {
00172 $objCompressorHandler = $_SESSION[$strParam];
00173 }
00174 else
00175 {
00176 $objCompressorHandler = new ForumCompressorHandler();
00177 $_SESSION[$strParam] = $objCompressorHandler;
00178 }
00179
00180
00181 if (isset($_GET["trim"]))
00182 {
00183 $objCompressorHandler->setCompression($_GET["trim"]=="true");
00184 $_SESSION[$strParam] = $objCompressorHandler;
00185 }
00186
00187
00188 $trim_mark = $objCompressorHandler->getCompressionLinkCode($_GET);
00189
00190
00191 $Tframe = new Template("templates/frame.html");
00192 $Tpostings = new Template("templates/postings.html");
00193 if ($anofilehelp['helpdesk'])
00194 {
00195
00196
00197 }
00198 if ($anofilehelp['marking'])
00199 {
00200 $Tpostingfirstrow = new Template("templates/postingfirstrow.html");
00201 $Tpostingrow = new Template("templates/postingrowmarking.html");
00202 }
00203 else
00204 {
00205 $Tpostingfirstrow = new Template("templates/postingfirstrow.html");
00206
00207 if ($objCompressorHandler->getCompression())
00208 $Tpostingrow = new Template("templates/postingrowtrimmed.html");
00209 else
00210 $Tpostingrow = new Template("templates/postingrow.html");
00211 }
00212 $Tpostingoptions = new Template('templates/postingoptions.html');
00213 $i = ($pagenum-1) *$config['vars_m_amount'];
00214
00215
00216
00217
00218
00219 $subscribe = mysql_fetch_array(forum_query("SELECT subscribeid, boardid, threadid FROM forum_subscribe WHERE
00220 threadid = $thread[threadid] AND boardid = $thread[boardid] AND userID = $g_user[userID] ORDER BY threadid DESC"));
00221 $subscribeid = $subscribe['subscribeid'];
00222 $boardsubscribe = mysql_fetch_array(forum_query("SELECT subscribeid FROM forum_subscribe WHERE
00223 threadid = 0 AND boardid = $thread[boardid] AND userID = $g_user[userID] ORDER BY threadid DESC"));
00224 $boardsubscribeid = $boardsubscribe['subscribeid'];
00225 if ($subscribeid != '')
00226 {
00227 $subscribe_mark = 'Kommentare zu diesem Bild sind abonniert.';
00228 $subscribe_mark.= '<br /><strong><a href="'.build_link('../forum/editprofile.php#abo') .'" title="Verwalten">[ Verwaltung ]</a></strong>';
00229 if ($boardsubscribeid == 0)
00230 {
00231 $subscribe_mark.= ' | <strong><a href="'.build_link('misc.php?action=abbestellen&sthreadid='.$thread['threadid'].'&boardid='.$thread['boardid'].'') .'" title="Abbestellen">[ abbestellen ]</a></strong>';
00232 }
00233 }
00234 else
00235 {
00236 $subscribe_mark = '<a href="'.build_link('misc.php?action=bestellen&sthreadid='.$thread['threadid'].'&boardid='.$board['boardid'].'') .'" title="Via Email abbonieren"> <strong>| Per Email über neue Kommentare informieren! |</strong> </a>';
00237 }
00238
00239
00240
00241 $r_post = forum_query("SELECT
00242 post.posttime,
00243 post.posttext,
00244 post.userID,
00245 post.postid,
00246 post.threadid,
00247 post.postlasteditby,
00248 post.postlastedittime,
00249 post.postsmilies,
00250 post.postcode,
00251 post.postguestname,
00252 post.postfilename,
00253 post.postfilesavename,
00254 post.postfilesize,
00255 user.username,
00256 user.usersignature,
00257 user.userposts,
00258 user.useravatar,
00259 user.groupids,
00260 user.userisadmin
00261 FROM
00262 forum_post as post
00263 LEFT JOIN
00264 forum_user as user ON (post.userID=user.userID)
00265 WHERE
00266 post.threadid=$thread[threadid]
00267 ORDER BY
00268 post.posttime ASC
00269 LIMIT
00270 ".(intval($pagenum) -1) *$config['vars_m_amount'].", $config[vars_m_amount]");
00271
00272 if (!$r_post)
00273 {
00274 errormessage('Sorry', 'Thread existiert nicht!');
00275 }
00276 if (isset($highlight))
00277 {
00278 $a_highword = explode(' ', Data::toHTML($highlight));
00279 if (count($a_highword) > 20) $a_highword = array();
00280 }
00281 $POSTINGROWS = '';
00282 while ($post = mysql_fetch_array($r_post))
00283 {
00284
00285 global $db;
00286 $userID = $post['userID'];
00287 $courseID = $_SESSION["course"];
00288 $groupName = UserTools::getUserGroupName($userID, $courseID);
00289 $groupAttr = " ($groupName)";
00290 $post['username'] = $post['username'] . $groupAttr;
00291
00292 $bbcode = new BBCode(true, $config["imageslevel"] != 2, $post['postsmilies'] && $config["smilies"], (bool)$post['postcode']);
00293
00294 if ($objCompressorHandler->getCompression())
00295 {
00296 $post['posttext'] = ForumCompressorHandler::compressText($post['posttext']);
00297 }
00298
00299 $post['posttext'] = $bbcode->parse($post['posttext']);
00300 $urlEncodedUserName = urlencode($post['username']);
00301 $post['useravatar'] = $post['useravatar'];
00302 $post['posttime'] = form_date($post['posttime']);
00303 $post['postnumber'] = sprintf("%03d", $i);
00304 if ($post['userID'] == 0)
00305 {
00306 $post['groupids'] = ','.$config['guest_groupid'].',';
00307 }
00308
00309 if ($userRole = RoleArtefacts::getRoleForItem(FORUM, (int)$post["postid"]))
00310 {
00311
00312 }
00313 else $userRole = null;
00314
00315 {
00316 reset($a_group);
00317 while (list(, $group) = each($a_group))
00318 {
00319 if (strstr($post['groupids'], ','.$group['groupid'].','))
00320 {
00321 $post['usertitle'] = $group['title'].'<br/>';
00322 break;
00323 }
00324 }
00325 }
00326
00327 $postingoptions = '';
00328 eval($Tpostingoptions->GetTemplate('postingoptions'));
00329
00330 $userexists = $db->get_row("SELECT ID, gender FROM user WHERE ID=".$post['userID']);
00331 $post['avatar'] = "";
00332 if (($config['useravatar'] >= 1) && ($post['useravatar'] != "") && ($post['useravatar'] != "notallowed") && !isset($userRole))
00333 {
00334 if ($post['userID'] > 0 && $userexists)
00335 $post['avatar'].= "<a href=\"".PATH_TO_ROOT."user/homepage.php?user=$post[userID]\" title='Gehe zur Profilseite'>";
00336 if ($post['useravatar'] == "userpicture")
00337 $post['avatar'].= getPictureLink($post['userID'], $config['avatarwidth'], $config['avatarheight']);
00338 else
00339 $post['avatar'].= "<img src=\"".(Utilities::validateURL($post['useravatar']) ? $post['useravatar'] : PATH_TO_ROOT."/forum/$post[useravatar]") ."\" alt=\"Avatar von ".Data::toHTML($post['username'], false) ."\" title=\"Avatar von ".Data::toHTML($post['username'], false) ."\" />";
00340
00341 if ($post['userID'] > 0 && $userexists) $post['avatar'].= "</a>";
00342 $post['avatar'].= "\n";
00343 }
00344 elseif (isset($userRole))
00345 {
00346 $avatarURL = $userRole->getAvatarURL($post["userID"]);
00347 if (!empty($avatarURL))
00348 {
00349 $post["avatar"] = "<img src='$avatarURL' alt='Avatar von ".Data::toHTML($post["username"]." (".$userRole->getName($userexists->gender) .")", false) ."' title='Avatar von ".Data::toHTML($post["username"]." (".$userRole->getName($userexists->gender) .")", false) ."' />";
00350 }
00351 }
00352 if ($post['username'] == '')
00353 {
00354 $post['username'] == '(N/A)';
00355 }
00356 elseif ($userexists)
00357 {
00358 $post['username'] = "<strong><a href='".PATH_TO_ROOT."user/homepage.php?user=$post[userID]' title='Gehe zur Profilseite'>".Data::toHTML($post['username'], false) ."</a></strong>";
00359 if (isset($userRole))
00360 {
00361 $post["username"].= "<br />(".$userRole->getPropertiesLink($userRole->getName($userexists->gender)) .")";
00362 }
00363
00364 if ($userTeam = TeamArtefacts::getTeamForItem(FORUM, (int)$post["postid"]))
00365 {
00366 $post["username"].= "<br />(".Data::toHTML($userTeam->getName(), false) .")";
00367 }
00368 $replyByPN = "<a href='".PATH_TO_ROOT."messaging/messaging_new.php?replyTo=forumpost&id={$post['postid']}'>".Output::getIcon("icon_antworten", "Per PN antworten") ."</a> | ";
00369 }
00370 $editDelete = "";
00371
00372 if (($post['userID'] == $g_user['userID'] && $P->has_permission(P_EDIT)) || $P->has_permission(P_OEDIT))
00373
00374
00375 if ($_SESSION["UserStyle"] != "fh_yaml")
00376 $editDelete .= " | <a href='edit.php?postid=$post[postid]' title='Editieren'>" . Output :: getIcon('icon_edit', 'Beitrag editieren') . "</a>";
00377 else
00378 $editDelete .= " | <a href='edit.php?postid=$post[postid]' title='Editieren'>" . Output :: getIcon('icon_forum_edit', 'Beitrag editieren') . "</a>";
00379 if ($i == 0)
00380 {
00381 if (($g_user['userID'] == $post['userID'] && $P->has_permission(P_DELPOST)) || $P->has_permission(P_ODELPOST))
00382
00383
00384 if ($_SESSION["UserStyle"] != "fh_yaml")
00385 $editDelete .= " | <a href='threadops.php?action=delete&threadid=$post[threadid]' title='Löschen'>" . Output :: getIcon('icon_delete', 'Bild löschen') . "</a>";
00386 else
00387 $editDelete .= " | <a href='threadops.php?action=delete&threadid=$post[threadid]' title='Löschen'>" . Output :: getIcon('icon_forum_delete', 'Bild löschen') . "</a>";
00388 }
00389 else
00390 {
00391
00392
00393 if ($_SESSION["UserStyle"] != "fh_yaml") {
00394 if (($g_user['userID'] == $post['userID'] && $P->has_permission(P_DELPOST)) || $P->has_permission(P_ODELPOST))
00395 $editDelete .= " | <a href='postops.php?action=delete&postid=$post[postid]' title='Löschen'>" . Output :: getIcon('icon_delete', 'Beitrag löschen') . "</a>";
00396 } else
00397 if (($g_user['userID'] == $post['userID'] && $P->has_permission(P_DELPOST)) || $P->has_permission(P_ODELPOST))
00398 $editDelete .= " | <a href='postops.php?action=delete&postid=$post[postid]' title='Löschen'>" . Output :: getIcon('icon_forum_delete', 'Beitrag löschen') . "</a>";
00399
00400 }
00401
00402 if (isset($picquotethumbsrc) && ($pq = $db->get_row("SELECT * FROM photogallery_picquote WHERE postid=".$post['postid'])))
00403 {
00404 $picthumb = '<img src="'.$picquotethumbsrc.'&maxh=300&maxw=400;&cx1='.$pq->left.'&cy1='.$pq->top.'&cx2='.$pq->right.'&cy2='.$pq->bottom.'" alt="Bildausschnitt" style="border: 1px solid #000000;" /><br />';
00405 $picthumb = '<a href="showbig.php?picurl='.$picPath.$ext.'&cx1='.$pq->left.'&cy1='.$pq->top.'&cx2='.$pq->right.'&cy2='.$pq->bottom.'" title="Bildzitat in voller Größe anzeigen">'.$picthumb.'</a>';
00406 $post['posttext'] = '<div style="text-align: center; width: 100%;">'.$picthumb.'</div>'.$post['posttext'];
00407 }
00408
00409 if (isset($highlight))
00410 $post['posttext'] = Utilities::highlightWords($post['posttext'], $a_highword);
00411
00412
00413 if ($post['usersignature'] && !isset($userRole))
00414 {
00415 if (isset($g_user['userhidesig']) && $g_user['userhidesig'] != 1)
00416 {
00417 if (!$objCompressorHandler->getCompression())
00418 {
00419 $post['posttext'].= "<br/>-- <br/>".$mainBBCode->parse($post['usersignature']);
00420 }
00421 }
00422 }
00423
00424 if ($post['postlastedittime'])
00425 $post['posteditnotes'] = "<hr />Dieser Post wurde am ".Output::echoDate("d.m.Y", (int)($post['postlastedittime']+$config['timeoffset']*3600)) ." um ".Output::echoDate("H:i", (int)($post['postlastedittime']+$config['timeoffset']*3600)) ." von ".Data::toHTML($post['postlasteditby'], false) ." editiert.";
00426 else
00427 $post['posteditnotes'] = "";
00428
00429
00430
00431
00432
00433
00434 $post['picsize'] = $post['filedownload'] = $post['file'] = '';
00435 if ($post['postfilename'])
00436 {
00437 $courseID = intval($db->get_var("SELECT categoryid FROM forum_board WHERE boardid='{$board['boardid']}'"));
00438 $boardID = $board['boardid'];
00439 $imagepath = PATH_TO_ROOT.'forum/templates/images/bueroklammer.gif';
00440 $uploaddir = PATH_TO_ROOT.$settings["upload_path"].'forum/course/'.$courseID.'/board/'.$boardID.'/';
00441
00442 if ($post['postfilesize'] > 1024*1024)
00443 {
00444 $post['postfilesize'] = floor($post['postfilesize']/(1024*1024)) ." MByte";
00445 }
00446 elseif ($post['postfilesize'] > 1024)
00447 {
00448 $post['postfilesize'] = floor($post['postfilesize']/1024) ." KByte";
00449 }
00450 else
00451 $post['postfilesize'] = $post['postfilesize']." Byte";
00452 if ($i == 0)
00453 {
00454 $picPath = $uploaddir.$post['postfilesavename'];
00455 if (file_exists($picPath)) $picSize = GetImageSize($picPath);
00456 $ext = '&ext='.strrchr($post['postfilename'], '.');
00457 $maxWidth = 640;
00458 $maxHeight = 480;
00459 if (isset($picSize[2]))
00460 {
00461 $maxW = "";
00462 $maxH = "";
00463 if ($picSize[0] > $maxWidth)
00464 $maxW = '&maxw='.$maxWidth;
00465 if ($picSize[1] > $maxHeight)
00466 $maxH = '&maxh='.$maxHeight;
00467
00468 $post['file'] = "<a href='showbig.php?picurl=".$picPath.$ext."' title='Bild in voller Größe anzeigen'> <img src='".PATH_TO_ROOT."common/makethumb.php?picurl=".rawurlencode($picPath) .$maxW.$maxH.$ext."' alt='Galeriebild' style='border: 1px solid #000000;' /> </a>";
00469 $post['filedownload'] = "<a href='showtopic.php?action=downloadFile&threadid=$thread[threadid]&postfilename=".rawurlencode($post['postfilename']) ."&postfilesavename=$post[postfilesavename]&courseID=$courseID&boardID=$boardID' title='Datei Download'>Download als Bilddatei</a>";
00470 $post['picsize'] = $picSize[0].'x'.$picSize[1].' Pixel';
00471 $picquotethumbsrc = PATH_TO_ROOT."common/makethumb.php?picurl=".rawurlencode($picPath) .$ext;
00472 }
00473 else
00474 $post['file'] = "Kein Bild vorhanden";
00475 }
00476 else
00477
00478 $post['file'] = "<img src='$imagepath' alt='Büroklammer-Symbol' title='Datei Download' />"."<a href='showtopic.php?action=downloadFile&threadid=$thread[threadid]&postfilename=".rawurlencode($post['postfilename']) ."&postfilesavename=$post[postfilesavename]&courseID=$courseID&boardID=$boardID' title='Datei Download'>$post[postfilename] ($post[postfilesize])</a>";
00479 }
00480 else
00481 {
00482 $post['file'] = "";
00483
00484 }
00485
00486
00487
00488 $SQL = "SELECT threadrate, userID FROM forum_thread WHERE threadid = '$thread[threadid]'";
00489 $res = $db->get_row($SQL);
00490
00491 $SQL2 = "SELECT sum(firstpost_value) AS anz FROM forum_post WHERE threadid = '$thread[threadid]' AND userID = ". $_SESSION['userid'];
00492 $res2 = $db->get_row($SQL2);
00493
00494
00495
00496 $rating_value = $res2->anz;
00497
00498
00499
00500 if($res->userID != $_SESSION['userid'])
00501 {
00502 if (($res->threadrate) == 1 && $rating_value == 0)
00503 {
00504 $evaluate ="<tr class='tableCell'>
00505 <td>Bewertung</td>
00506 <td>
00507 <label for='preview'>Qualität des Themas</label><br/>
00508 <p class='pForm'>
00509 <input type='radio' name='Eval[]' value='5'> sehr gut
00510 <input type='radio' name='Eval[]' value='4'> gut
00511 <input type='radio' checked='checked' name='Eval[]' value='3'> mittel
00512 <input type='radio' name='Eval[]' value='2'> wenig brauchbar
00513 <input type='radio' name='Eval[]' value='1'> unbrauchbar
00514 </p></td>
00515 </tr>";
00516 }
00517 elseif (($res->threadrate) == 0 && $rating_value == 0)
00518 {
00519 $evaluate="<tr class='tableCell'>
00520 <td>Bewertung</td>
00521 <td>Der Autor lässt keine Bewertung des Eintrags zu!</td>
00522 </tr>";
00523 }
00524
00525 else
00526 {
00527 switch($rating_value){
00528 case 1: $value_str="unbrauchbar"; break;
00529 case 2: $value_str="wenig brauchbar"; break;
00530 case 3: $value_str="mittel"; break;
00531 case 4: $value_str="gut"; break;
00532 case 5: $value_str="sehr gut"; break;
00533 default: $value_str=""; break;
00534
00535 }
00536
00537
00538 $evaluate="<tr class='tableCell'>
00539 <td>Bewertung</td>
00540 <td>Sie haben bereits mit "". $value_str ."" abgestimmt!</td>
00541 </tr>";
00542 }
00543 }
00544
00545 else
00546 {
00547 $evaluate="";
00548 }
00549
00550
00551 if ($P->has_permission(P_REPLY))
00552 {
00553 $picquotelink = " | <a href='modifypic.php?picurl=$picPath$ext&mode=quote&postid=$post[postid]&threadid=$thread[threadid]&time=$time' title='Bildzitat'>Bildzitat</a>";
00554 }
00555 else
00556 $picquotelink = "";
00557 if ($i == 0)
00558 eval($Tpostingfirstrow->GetTemplate("POSTINGROWS"));
00559 else
00560 eval($Tpostingrow->GetTemplate("POSTINGROWS"));
00561 $i++;
00562 }
00563
00564 define('PADDING', 3);
00565 $pages_nav = '';
00566 $linkappend = '';
00567 if ($time)
00568 $linkappend = '&time='.$time;
00569 if (isset($highlight))
00570 $linkappend.= '&highlight='.urlencode($highlight);
00571
00572 if ($pagenum-PADDING > 1)
00573 {
00574 $pages_nav = '[ <a class="hefo" href="'.build_link('showtopic.php?threadid='.$thread['threadid'].'&pagenum=1'.$linkappend) .'" title="Gehe zur ersten Seite">Erste Seite</a> ] ... ';
00575 }
00576
00577 $i = $pagenum-PADDING;
00578 if ($i < 1)
00579 $i = 1;
00580 $imax = $pagenum+PADDING;
00581 if ($imax > $post_pages)
00582 $imax = $post_pages;
00583 for ($i ; $i <= $imax ; $i++)
00584 {
00585 if ($i == $pagenum)
00586 $pages_nav.= '-'.$i.'- ';
00587 else
00588 $pages_nav.= '[ <a class="hefo" href="'.build_link('showtopic.php?threadid='.$thread['threadid'].'&pagenum='.$i.$linkappend) .'" title="Gehe zur '.$i.'. Seite">'.$i.'</a> ] ';
00589 }
00590
00591 if ($pagenum+PADDING < $post_pages)
00592 {
00593 $pages_nav.= '... [ <a class="hefo" href="'.build_link('showtopic.php?threadid='.$thread['threadid'].'&pagenum=lastpage'.$linkappend) .'" title="Gehe zur letzten Seite">Letzte Seite</a> ]';
00594 }
00595
00596 $REPLYFORM = '';
00597 $picquotepreview = '';
00598 $replytext = '';
00599 if ($pagenum == $post_pages && $P->has_permission(P_REPLY) && !$thread['threadclosed'])
00600 {
00601 if (isset($replyto))
00602 {
00603 $r_post = forum_query("SELECT post.posttext, post.threadid, post.postguestname, post.userID, user.username FROM forum_post AS post
00604 LEFT JOIN forum_user AS user ON post.userID=user.userID WHERE postid='".intval($replyto) ."'");
00605 $post = mysql_fetch_array($r_post);
00606
00607 if ($post['threadid'] != $thread['threadid'])
00608 errormessage("Fehler", "Ungültige postid!");
00609 $post['posttext'] = Data::toHTML($post['posttext'], false);
00610 if (!$post['username'])
00611 $replytext = '[quote][b][noparse]'.Data::toHTML($post['postguestname'], false) .' schrieb:[/noparse][/b]'."\n".$post['posttext'].'[/quote]'."\n";
00612 else
00613 {
00614 if ($authorRole = RoleArtefacts::getRoleForItem(FORUM, (int)$replyto))
00615 {
00616 $gender = $db->get_var("SELECT gender FROM user WHERE ID='$post[userID]'");
00617 $post['username'].= " (".$authorRole->getName($gender) .")";
00618 }
00619 $replytext = '[quote][b][noparse]'.Data::toHTML($post['username'], false) .' schrieb:[/noparse][/b]'."\n".$post['posttext'].'[/quote]'."\n";
00620 }
00621 if (isset($_GET['cx1']))
00622 {
00623 $cropParam = "&maxw=$maxWidth&maxh=$maxHeight&cx1=".$_GET['cx1']."&cy1=".$_GET['cy1']."&cx2=".$_GET['cx2']."&cy2=".$_GET['cy2'];
00624 $picquotepreview = '
00625 <tr class="tableCellDark" valign="top">
00626 <td>Bildausschnitt</td>
00627 <td>
00628 <p class="pForm">
00629 <input type="hidden" name="picquote" value="1" />
00630 <input type="hidden" name="cx1" value="'.$_GET['cx1'].'" />
00631 <input type="hidden" name="cy1" value="'.$_GET['cy1'].'" />
00632 <input type="hidden" name="cx2" value="'.$_GET['cx2'].'" />
00633 <input type="hidden" name="cy2" value="'.$_GET['cy2'].'" />
00634 </p>
00635 <img src="'.PATH_TO_ROOT.'common/makethumb.php?picurl='.rawurlencode($picPath) .$ext.$cropParam.'" alt="Bildzitat Ansicht" style="margin-right: 10px; border: 1px solid #000000;" />
00636 </td>
00637 </tr>';
00638 }
00639 }
00640 if ($config['smilies'])
00641 {
00642 $smilies_on_off = "AN";
00643 $smilietext = "<tr class='tableCell'> <td>Smilies</td> <td> <p class='pForm'><input id='smilies' type='checkbox' name='post[postsmilies]' value='1' checked='checked'/></p>
00644 <label for='smilies'>Smilies wie :), ;) usw. als Grafiken darstellen?</label></td></tr>";
00645 }
00646 else
00647 {
00648 $smilies_on_off = "AUS";
00649 $smilietext = "";
00650 }
00651 if ($config['use_email'])
00652 {
00653 $notifyavailable = '';
00654 }
00655 else
00656 {
00657 $notifyavailable = ' (Derzeit nicht verfügbar)';
00658 }
00659 $roleInfoText = "";
00660 if ($g_user['userID'])
00661 {
00662 $replyusername = $g_user['userhtmlname'];
00663 if (isset($role))
00664 {
00665 $replyusername.= " (".Data::toHTML($role->getName($_SESSION["gender"]), false) .")";
00666 $replytext.= "\n\n\n".Data::toHTML($role->getSetting("forum_sig", true));
00667 $roleInfoText = "<tr><td colspan='2' class='message'>Sie nehmen zur Zeit die Rolle <strong>".Data::toHTML($role->getName($_SESSION["gender"]), false) ."</strong> ein.<br />Wenn Sie einen Beitrag im Forum verfassen, wird dieser unter Ihrem Rollennamen und mit Ihrem Rollenavatar veröffentlicht.</td></tr>";
00668 }
00669 if (isset($team))
00670 {
00671 $replyusername.= " (".$team->getName() .")";
00672 }
00673 }
00674 else
00675 {
00676 if ($g_user['userID'] == 0 && $P->has_permission(P_REPLY))
00677 {
00678 $replyusername = '<p class="pForm"><input class="tbinput" name="post[postguestname]" type="text"/></p>';
00679 }
00680 else
00681 {
00682 $replyusername = '';
00683 }
00684 }
00685
00686
00687
00688
00689
00690 $courseID = $_SESSION['course'];
00691 $r_filesAllowed = forum_query("SELECT filesallowed FROM forum_board as board WHERE boardid = $board[boardid]");
00692 $filesAllowed = mysql_fetch_array($r_anofilehelp);
00693 if ($anofilehelp['filesallowed'])
00694 {
00695 $maxFileSize = upload::getMaxFileSize();
00696
00697
00698 if ($maxFileSize > 1024)
00699 {
00700 $showMaxFileSize = round($maxFileSize/1024, 2) ." MB";
00701 }
00702 else
00703 $showMaxFileSize = $maxFileSize." KB";
00704 $post['fileuploadrow'] = "<tr class='tableCell'> <td>Datei</td> <td> <p class='pForm'><input class='tbinput' type='file' name='userfile' size='38'/></p> maximal $showMaxFileSize</td></tr>";
00705 }
00706 else
00707 {
00708 $post['fileuploadrow'] = "";
00709 }
00710
00711 $Treply = new Template("./templates/replyform.html");
00712 eval($Treply->GetTemplate("REPLYFORM"));
00713 }
00714 forum_query("UPDATE forum_thread SET threadviews=threadviews+1 WHERE threadid='$thread[threadid]'");
00715 $JUMP_MENU = jumpmenu($board['boardid']);
00716 $navpath.= 'Bildansicht';
00717 $titleprepend = Data::toHTML($thread['threadtopic'], false) .' - ';
00718 $board['boardname'] = Data::toHTML($board['boardname'], false);
00719 $thread['threadtopic'] = Data::toHTML($thread['threadtopic'], false);
00720 $eStudyPage->appendJavaScriptFile($js);
00721 eval($Tpostings->GetTemplate("CONTENT"));
00722 eval($Tframe->GetTemplate());
00723 include_once "footer.inc.php";
00725 require_once (PATH_TO_ROOT."common/footer.inc.php");
00726 }